*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

/* 字体声明已移至 initFont.ts 中动态加载 */

html,
body {
  height: 100%;
  overflow: hidden;

  /* 禁用弹性滚动效果 */
  overscroll-behavior: none;
  color: #333;

  /* 字体样式将由 initFont.ts 动态设置 */
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* 禁止长按菜单 */
  -webkit-touch-callout: none;
}

#app {
  height: 100%;
  overflow: hidden auto;

  /* 在特定元素内部允许弹性滚动 */
  overscroll-behavior: contain;

  /* 兼容ios滑动卡顿 */
  -webkit-overflow-scrolling: touch;
}

li {
  list-style: none;
}

a:visited,
a:visited font {
  color: #551a8b;
}

button {
  padding: unset;
  margin: unset;
  background: unset;
  border: unset;
  border-radius: unset;
}

button:not(:disabled):active {
  opacity: 0.9;
}

button.primary,
button[primary] {
  color: #f9d7af;
  background: linear-gradient(to bottom, #1a1919, #434343);
}

button.primary:disabled,
button[primary]:disabled {
  color: #fff;
  background: #c7c1bb;
}

button.primary:disabled:active,
button[primary]:disabled:active {
  opacity: 1;
}

.button {
  width: 118px;
  height: 48px;
  font-size: 24px;
  text-align: center;
  border-radius: 24px;
}

.button.primary {
  color: #fff;
  background: radial-gradient(to bottom, #ed4b30 0%, #dc3a1f 100%);
}

.button.plain {
  color: #fff;
  background: #ff8327;
}

.button.disabled {
  color: #fff !important;
  background: #d5c5c3 !important;
  box-shadow: none !important;
}

/* 指定超出隐藏 */
.text-ellipsis(@index) when (@index > 0) {
  .text-ellipsis-@{index}

 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: @index; /* 设置最大显示行数 */
    -webkit-box-orient: vertical;
  }
  .text-ellipsis(@index - 1);
}
.text-ellipsis(5);

:root {
  --van-active-color: #fff;
}
